package com.secxiot.provider.user.dao;

import com.secxiot.provider.user.vo.HospitalVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.math.BigDecimal;
import java.util.List;

@Repository
@Mapper
public interface HospitalDao {

    HospitalVo selectNearestHospital(@Param("longitude") BigDecimal longitude, @Param("latitude") BigDecimal latitude, @Param("hospitalId") Long hospitalId);

    List<HospitalVo> selectHospitalListByUser(@Param("longitude") BigDecimal longitude, @Param("latitude") BigDecimal latitude, @Param("wxAppId") String wxAppId);

    /**
     * 详情
     *
     * @param id 医疗机构ID
     * @return
     */
    HospitalVo getHospitalById(@Param("id") Long id);

    /**
     * 详情
     *
     * @param deptId 部门id
     * @return
     */
    HospitalVo getHospitalByDeptId(@Param("deptId") Long deptId);

    /**
     * 医疗机构列表
     *
     * @return
     */
    List<HospitalVo> selectHospital();

    /**
     * 获取医院详情
     *
     * @param longitude 经度
     * @param latitude  维度
     * @param deptId    部门Id
     * @return
     */
    HospitalVo getHospitalDistanceByDeptId(@Param("longitude") BigDecimal longitude, @Param("latitude") BigDecimal latitude, @Param("deptId") Long deptId);
}
